package com.uyong.study.datastruct;

import java.util.List;

/**
 * 二叉树
 * 
 * @author gonggy
 * @since 2019-02-13
 */
public class BinaryTree {

	/**
	 * 前序遍历
	 * 
	 * @param node
	 */
	public void preOrder(Node node, List<Integer> result) {
		if (node == null) {
			return;
		}
		result.add(node.data);
		preOrder(node.left, result);
		preOrder(node.right, result);
	}

	/**
	 * 中序遍历
	 * 
	 * @param node
	 */
	public void inOrder(Node node, List<Integer> result) {
		if (node == null) {
			return;
		}
		inOrder(node.left, result);
		result.add(node.data);
		inOrder(node.right, result);
	}

	/**
	 * 后序遍历
	 * 
	 * @param node
	 */
	public void postOrder(Node node, List<Integer> result) {
		if (node == null) {
			return;
		}
		postOrder(node.left, result);
		postOrder(node.right, result);
		result.add(node.data);
	}
}
